1
Transformasi Fungsional Dasar
AI019Lesson 3
00:00

Dalam Elixir, komputasi dipandang sebagai serangkaian transformasi dasar. Data bersifat tidak dapat diubah, dan operator = bukan untuk penugasan, melainkan untuk pencocokan pola.

1. Operator Pencocokan

Pencocokan memungkinkan Anda mengikat nilai ke pola. Jika struktur sisi kiri tidak sesuai dengan sisi kanan, transformasi akan gagal. Elixir menggunakan operator khusus untuk aliran data: Aritmatika (+, -, *, /), Perbandingan (===, !==, >=), dan Gabungan (<> untuk string, ++ untuk daftar).

2. Ekspresi 'with'

Ekspresi with mengatur transformasi bertahap di mana keberhasilan bersyarat. Ini memungkinkan penyambungan pencocokan menggunakan <-. Berbeda dengan operator pencocokan =, jika pencocokan pada <- gagal, ekspresi akan mengembalikan nilai yang tidak cocok alih-alih melemparkan kesalahan.

[1,2,3][a|_] <- inputa = 1Gagal: Kembalikan input

3. Lingkup dan Sintaks

Di balik layar, with diproses sebagai makro atau pemanggilan fungsi. Variabel yang terikat di dalamnya tidak bocor ke lingkup luar. Sintaks seperti mean = with count = ..., do: sum/count adalah cara berbasis ekspresi untuk menghitung nilai turunan.

$$\text{rata_rata} = \frac{\sum_{i=1}^{n} x_i}{n}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>